iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
佛心分享-IT 人自學之術

ASP.NET Core 30日成長路系列 第 21

Day21:什麼是Partial View(部分檢視)

  • 分享至 

  • xImage
  •  

什麼是Partial View(部分檢視)


登愣~!今天我們要來認識的是Partial View(部分檢視)!
部分檢視的話主要所重視的是一個小的區塊,就不會要一定像寫View一樣一次就寫完一個完整的架構,它在View中所扮演的更像一個可以被重複使用的零件。
就譬如說我們在製作產品的線上型錄時,部分檢視就是一個很好的工具!可以來幫我們大量的展示商品。

Partial View的運作方法
前面我們講到Partial View像是一個小零件一樣可以被View所使用,而當我們要在View中使用Partial View時,可以用Render去把Partial View呼叫到View當中。

特性說明📄
1.呼叫Partial View的View稱為Parent View(父檢視)
2.Partial View延伸檔名與View相同,皆是.cshtml
3.Partial View可放一般資料夾,但同個資料夾中的父檢視會優先使用,也可放在View/Shared的資料夾讓所有父檢視共用。
4.因此父檢視尋找Partial View的順序是由自己所在的資料夾開始使用,再來才是Shared的資料夾。
5.若是通用的布局設計是要放在_Layout.cshtml布局檔中,若是其他需重複用的內容就是做成Partial View。

Partial View與View的不同

1.Partial View不會執行_ViewStarted.cshtml,等於不會套用布局檔。
2.若是在Partial View中宣告了,但不會出現在父檢視中,相當於白白宣告。
3.雖然在Partial View中可以加入與,樣式也會被帶入父檢視中,但是若是該Partial View在父檢視中被多次使用,則與也會重複產生多次,這樣的設計不太好。
4.Partial View支援鍊狀(Chained)呼叫,可以層層呼叫Partial View,但這樣會過度深層巢狀也不好。

Partial View資料傳遞方式
Partial View資料的傳遞可分為同步與非同步兩大類,在呼叫時會比較建議使用非同步語法,盡量避免使用同步語法,因為使用同步語法會容易產生Deadlock(死結)的狀況。
而在呼叫時也可用ViewData或者是model物件去傳遞資料給Partial View。
以下我們就來簡單的舉例用ViewData或model物件去傳遞資料給Partial View:

傳遞ViewData資料給Partial View語法

<partial name = “_PartialName” view-data = “ViewData” / >
@await Html.PartialAsync(“_PartialName”, ViewData)

說明:
1.Partial View初始時,會收到Partial View的ViewDataDictionary複本。
2.但若是在Partial View中更新ViewData,資料不會回到父檢視中。
3.Partial View回傳時,ViewData就會消失。

傳遞model資料給Partial View語法

<partial name = “_PartialName” model = “model” / >
@await Html.PartialAsync(“_PartialName”, model物件)

那麼以上就是今天的分享啦~圓山的老崔蒸包好好吃噢( ᴖ ·̫ ᴖ )
明天見啦~See YA(。•̀ᴗ-)


上一篇
Day20:Razor語法入門
下一篇
Day22:Tag Helpers vs Html Helpers
系列文
ASP.NET Core 30日成長路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言